2017-10-19 102 views
2

我试图自动化salesforce,但是我在定位器中遇到了一些麻烦。我正在使用Python和硒webdriver来做到这一点。如何在表列行中找到元素

我试图点击该元素(代码片段给出):

< th scope = "row" 
 
class = " dataCell cellCol1 " > < a href = "javascript:srcUp(%27%2F0019E00000SLiUQ%3FsrPos%3D0%26srKp%3D001%26isdtp%3Dvw%27);" 
 
data - seclke = "Account" 
 
data - seclkh = "73556054e04c9691f20b5b34809356fd" 
 
data - seclki = "0019E00000SLiUQ" 
 
data - seclkp = "/0019E00000SLiUQ" 
 
data - seclkr = "1" 
 
onmousedown = "searchResultClick.mousedown(this, event)" > Harris Kemp < /a></th >

然而,由于某种原因,无法找到它。

我尝试了不同的解决方案,我在网上找到,他们都没有似乎工作。

这里是我的代码:

driver.switch_to.frame(1) 
    # driver.switch_to.frame(driver.find_element_by_id("history-iframe")) 
    # mouseDown() // i entered the location of the element here 
    # pyautogui.click() // i entered the location of the element here 

这里是另一种方式,我想:

elem = driver.find_element_by_xpath("//a[@data-seclkr='1']") 
    driver.execute_script("arguments[0].click();", elem) 

我用各种不同的XPath可用,它仍然不会一下就可以了。

如果有人能帮忙,请大家帮忙。

I have attached the full html body image here

+0

请确保您简要说明您在开始时想要做什么。该片段可以在之后粘贴。有人可能会因此而降低你的问题。为了您的答案,我正在尝试寻找类似的东西,并且在我到家时我会回答:) –

+0

非常感谢Apolo Radomer的领导:) – zplush

回答

3

要找到 “编辑” 的元素,你可以这样做:

elem1= driver.find_element_by_xpath("//td[@class='actionColumn']") 
elem1.find_element_by_xpath(".//a[@class='actionLink']").click() 
如果你想点击 “哈里斯坎普”

,尝试:

elem1= driver1.find_element_by_xpath("//th[@scope='row']") 
elem1.find_element_by_xpath(".//a[@data-seclke='Account' and text()='Harris Kemp']").click() 
+0

感谢您的回复,如果您看到附上的图片我试图点击表格中的名字'Harris Kemp'。 我尝试这样做: 'elem1 = driver.find_element_by_xpath(“// TD [@类= 'DATACELL cellCol1 '] ”) elem1.find_element_by_xpath(“ .//一个[@数据seclkp ='/ 0019E00000SLiUQ' ]“)。点击()' 它没有工作:( – zplush

+0

@zplush乐意提供帮助!如果此答案或任何其他人解决了您的问题,请将其标记为已接受:stackoverflow。com/help/someone-answers –

+0

@zplush从你的问题,似乎你想单击“编辑”元素 –

1

你能挑一个简单的标签从网站,并尝试像下面的东西?

让我们说,这是HTML脚本:

<div id='a'> 
    <div> 
    <a class='click'>abc</a> 
    </div> 
</div> 

你的Python脚本应该是:

driver.find_element_by_xpath("//div[@id='a']//a[@class='click']") 

输出应该是:

<a class="click">abc</a> 

,然后尝试把您的python代码末尾的.click()

+2

我想我们用DurdenP同时贴上答案:D试试他的剧本。它应该工作。 –

相关问题