ಸೆಲೆನಿಯಮ್ ಹ್ರೆಫ್ ಮೌಲ್ಯದಿಂದ ಲಿಂಕ್ ಕ್ಲಿಕ್ ಮಾಡಿ

ಸೆಲೆನಿಯಮ್ ವೆಬ್‌ಡ್ರೈವರ್‌ನಲ್ಲಿ, ಎಲಿಮೆಂಟ್‌ನ ಐಡಿ, ಎಕ್ಸ್‌ಪಾತ್, ಸಿಎಸ್ಎಸ್ ಮುಂತಾದ ವೆಬ್ ಅಂಶಗಳೊಂದಿಗೆ ನಾವು ಸಂವಹನ ನಡೆಸುವ ಹಲವು ಮಾರ್ಗಗಳಿವೆ…

ನಾವು linkText ಮೂಲಕ ಲಿಂಕ್‌ಗಳನ್ನು ಕ್ಲಿಕ್ ಮಾಡಬಹುದು ಅಥವಾ partialLinkText. ನಡುವಿನ ನಿರೀಕ್ಷಿತ ಪಠ್ಯವನ್ನು ನಾವು ತಿಳಿದಿದ್ದರೆ ಈ ವಿಧಾನಗಳು ಒಳ್ಳೆಯದು ಟ್ಯಾಗ್‌ಗಳು.

ಆದರೆ ನಾವು ಸ್ಥಳೀಕರಣ ಅಥವಾ ಅಂತರರಾಷ್ಟ್ರೀಕರಣ ಪರೀಕ್ಷೆಯನ್ನು ಮಾಡಿದಾಗ, ಪಠ್ಯವನ್ನು ಅದಕ್ಕೆ ಅನುಗುಣವಾಗಿ ಅನುವಾದಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ನಾವು ಇನ್ನು ಮುಂದೆ ಲಿಂಕ್‌ಟೆಕ್ಸ್ಟ್ ಅಥವಾ ಭಾಗಶಃ ಲಿಂಕ್‌ಟೆಕ್ಸ್ಟ್ ಅನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ, ವಿಶೇಷವಾಗಿ ಆಂಕರ್ ಟ್ಯಾಗ್‌ಗಳು ಯಾವುದೇ ಐಡಿ ಅಥವಾ ವರ್ಗವನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದರೆ.


profile.html ಗೆ ಸೂಚಿಸುವ ಲಿಂಕ್ ಅನ್ನು ನಾವು ಕ್ಲಿಕ್ ಮಾಡಲು ಬಯಸುತ್ತೇವೆ ಎಂದು ಭಾವಿಸೋಣ,

ಉದಾ.


View Profile

ಮೊದಲೇ ಹೇಳಿದಂತೆ, ನಾವು ಬಳಸಬಹುದು

driver.findElement(By.linkText('View Profile')).click()

ಮತ್ತು ನಾವು ಇಂಗ್ಲಿಷ್ ಭಾಷೆಯ ಪುಟದಲ್ಲಿರುವವರೆಗೂ ಅದು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

ನಾವು ಭಾಷೆಯನ್ನು ಜರ್ಮನ್ ಭಾಷೆಗೆ ಬದಲಾಯಿಸಿದಾಗ, ಉದಾಹರಣೆಗೆ, ನಮ್ಮ ಲಿಂಕ್ ಈಗ ಪ್ರದರ್ಶಿಸುತ್ತದೆ

Profil ansehen

ಈಗ, ಸಾಲು


driver.findElement(By.linkText('View Profile')).click()

ವಿಫಲಗೊಳ್ಳುತ್ತದೆ ಏಕೆಂದರೆ ಆ ಪಠ್ಯದೊಂದಿಗೆ ಪ್ರೊಫೈಲ್ ಪುಟದಲ್ಲಿ ಯಾವುದೇ ಲಿಂಕ್ ಇಲ್ಲ.

ಇದನ್ನು ನಿವಾರಿಸಲು ಒಂದು ಮಾರ್ಗವೆಂದರೆ ಅದರ href ಮೂಲಕ ಲಿಂಕ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡುವುದು ಮೌಲ್ಯ, ಏಕೆಂದರೆ ಸೈಟ್‌ನ ಭಾಷೆ ಬದಲಾದಾಗಲೂ ಹ್ರೆಫ್ ಲಿಂಕ್ ಇನ್ನೂ ಅದೇ ಸ್ಥಳಕ್ಕೆ ಸೂಚಿಸಬೇಕು.

ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಹೇಳುವುದಾದರೆ, ಅಂತರರಾಷ್ಟ್ರೀಕರಣವು ಲಿಂಕ್‌ಗಳ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರಬಾರದು.

ವೆಬ್‌ಡ್ರೈವರ್ ಅದರ ಹ್ರೆಫ್ ಮೌಲ್ಯದಿಂದ ಲಿಂಕ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡುವ ಸ್ವತಂತ್ರ ಮತ್ತು ನೇರ ಮಾರ್ಗವನ್ನು ಹೊಂದಿಲ್ಲ. ಬದಲಾಗಿ, ನಾವು ಪುಟದಲ್ಲಿನ ಎಲ್ಲಾ ಲಿಂಕ್‌ಗಳನ್ನು ಪಡೆಯಬೇಕು, ಹ್ರೆಫ್ ಗುಣಲಕ್ಷಣವನ್ನು ಹೊರತೆಗೆಯಬೇಕು ಮತ್ತು ನಂತರ ಹ್ರೆಫ್ ಮೌಲ್ಯಗಳನ್ನು ನಾವು ನಿರೀಕ್ಷಿಸುವುದರೊಂದಿಗೆ ಹೋಲಿಸಬೇಕು.




H href ಮೂಲಕ ಲಿಂಕ್ ಕ್ಲಿಕ್ ಮಾಡಿ

ನಾವು ಈ ಕೆಳಗಿನ ಲಿಂಕ್‌ಗಳನ್ನು ಹೊಂದಿದ್ದೇವೆ ಮತ್ತು ನಾವು ಪ್ರೊಫೈಲ್ ಲಿಂಕ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಲು ಬಯಸುತ್ತೇವೆ ಎಂದು ಭಾವಿಸೋಣ

View Profile Transactions public void clickLinkByHref(String href) {
List anchors = driver.findElements(By.tagName('a');
Iterator i = anchors.iterator();
while(i.hasNext()) {
WebElement anchor = i.next();
if(anchor.getAttribute('href').contains(href)) {

anchor.click();

break;
}
} }

ನಂತರ ನಾವು clickLinkByHref('Profile') ಅನ್ನು ಬಳಸಬಹುದು

ತದನಂತರ ಮೇಲಿನ ಕಾರ್ಯವು ಪುಟದಲ್ಲಿನ ಎಲ್ಲಾ ಲಿಂಕ್‌ಗಳನ್ನು ಪಡೆಯುತ್ತದೆ ಮತ್ತು ಅವುಗಳ ಮೂಲಕ ಪುನರಾವರ್ತಿಸುತ್ತದೆ ಮತ್ತು ಅದು ಪ್ರೊಫೈಲ್ ಹೊಂದಿರುವ ಲಿಂಕ್ ಅನ್ನು ಕಂಡುಕೊಂಡಾಗ, ವೆಬ್‌ಡ್ರೈವರ್ ಲಿಂಕ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡುತ್ತದೆ.

ಗಮನಿಸಿ, ಅವುಗಳಲ್ಲಿ ಪದ ಪ್ರೊಫೈಲ್‌ನೊಂದಿಗೆ ನಾವು ಹಲವಾರು ಲಿಂಕ್‌ಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ಮೇಲಿನ ಕಾರ್ಯವು ಯಾವಾಗಲೂ ಪ್ರೊಫೈಲ್ ಪದವನ್ನು ಹೊಂದಿರುವ ಮೊದಲ ಲಿಂಕ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡುತ್ತದೆ. ನಾವು ಯಾವ ಲಿಂಕ್‌ಗಳನ್ನು ಕ್ಲಿಕ್ ಮಾಡಲು ಬಯಸುತ್ತೇವೆ ಎಂಬುದನ್ನು ಸೇರಿಸಲು ಮೇಲಿನ ಕೋಡ್ ಅನ್ನು ನಾವು ಮಾರ್ಪಡಿಸಬಹುದು:


public void clickLinkByHref(String href, int position) {
List anchors = driver.findElements(By.tagName('a');
Iterator i = anchors.iterator();
int j = 0;
while(i.hasNext()) {
WebElement anchor = i.next();

if(anchor.getAttribute('href').contains(href)) {

j++;
}

if(anchor.getAttribute('href').contains(href)


&& j == position) {

anchor.click();

break;
}
} }

ಹೆಚ್ಚಿನ ಓದುವಿಕೆ:

ಆಸಕ್ತಿಕರ ಲೇಖನಗಳು